#define _CRT_SECURE_NO_WARNINGS

#include "SeqList.h"
//
//
//int main()
//{
//	SL sl;
//	SLInit(&sl);
//
//	SLPushBack(&sl, 1);
//	SLPushBack(&sl, 2);
//	SLPushBack(&sl, 3);
//	SLPushBack(&sl, 4);
//	SLPushBack(&sl, 6);
//
//	SLInsert(&sl, 4, 5);
//
//	SLPrint(&sl);
//
//	SLDestroy(&sl);
//	return 0;
//}

int removeElement(int* nums, int numsSize, int val)
{
    SL sl;
    SLInit(&sl);
    for (int i = 0; i < numsSize; i++)
    {
        SLPushBack(&sl, nums[i]);
    }
    int k = 0;
    int ret = 0;
    while (ret = SLFind(&sl, val) != -1)
    {
        //int ret = SLFind(&sl, val);
        SLErase(&sl, ret);
        k++;
    }
    for (int i = 0; i < numsSize - k; i++)
    {
        nums[i] = sl.arr[i];
    }
    SLDestroy(&sl);
    return k;
}

int removeDuplicates(int* nums, int numsSize)
{
    SL sl;
    int i = 0;
    SLInit(&sl);
    for (i = 0; i < numsSize; i++)
    {
        SLPushBack(&sl, nums[i]);
    }
    for (i = 0; i < numsSize; i++)
    {
        if (i + 1 < numsSize && sl.arr[i] == sl.arr[i + 1])
        {
            SLErase(&sl, i);
            numsSize--;
            i--;
        }
    }
    for (i = 0; i < numsSize; i++)
    {
        nums[i] = sl.arr[i];
    }
    SLDestroy(&sl);
    return numsSize;
}



int main()
{
    int arr[10] = { 0,0,1,1,1,2,2,3,3,4 };
    int ret = removeDuplicates(arr, 10);
	return 0;
}